//同以目录下的文件更名：
const fs = require("fs");
const path = require("path");
const os = require("os");
const { addAbortSignal } = require("stream");
const { start } = require("repl");
// 包含当前文件夹所有内容的数组
let allFiles = fs.readdirSync(__dirname);
// 更名操作
function my_rename(oldName, newName) {
    fs.rename(oldName, newName, function (err) {
        if (err) {
            throw err;
        }

        // console.log("rename is done!");
    });
}
// 验证结尾后缀是否为真。str文件的名字。appoint文件后缀的名字
function my_validationEnd(str, appoint) {
    // 不区分大小写全部转换成小写。
    str = str.toLowerCase();
    let tempArr = str.split(".");
    let endStr = tempArr[tempArr.length - 1];
    if (appoint === endStr) {
        return true;
    }
    return false;
}
// 过滤数组的方法，返回我想要的文件类型的数组。第一个参数文件数组。第二个参数后缀名，字符串。
function type_arr(arr, typeStr) {
    let newArr = [];
    for (let i in arr) {
        if (my_validationEnd(arr[i], typeStr)) {
            newArr.push(arr[i]);
        }
    }
    return newArr;
}
// 验证是否是数字 只能判断一位数
function isNum(num) {
    let pattern = /^[0-9]$/
    /* let str='123'
    let str4='1'
    let str3='9'
    let str2='12a'
    console.log(pattern.test(str));
    console.log(pattern.test(str2));
    console.log(pattern.test(str3));
    console.log(pattern.test(str4)); */
    return pattern.test(num)
}
// 判断是否是小写 一位
function isLow(str) {
    let pattern = /^[a-z]$/
    /* let str='123'
    let str4='1'
    let str3='9'
    let str2='12a'
    console.log(pattern.test(str));
    console.log(pattern.test(str2));
    console.log(pattern.test(str3));
    console.log(pattern.test(str4)); */
    return pattern.test(str)
}
/* console.log(isLow('a'));
console.log(isLow('2')); */
// 把开头小写的man-123改为MAN-123
function my_rename_to_h265(fileType='txt') {
    // 所有该格式文件的数组 只剩下mkv视频的文件数组
    let typeArray = type_arr(allFiles, fileType);
    typeArray.forEach((element) => {
        // let lastPointIndex=element.lastIndexOf('.')
        for (let i in element) {
            if (isNum(element[i])) {
                let tempName = element.slice(0, i)
                let endName=element.slice(i)
                // console.log('改后的名字',tempName.toUpperCase()+endName);
                my_rename(element,tempName.toUpperCase()+endName)
                break;
            }
        }
        return;
        let firstIndex = element.indexOf()
        let startStr = element.slice(0, lastPointIndex)
        // 包含.
        let endStr = element.slice(lastPointIndex)
        // console.log(startStr,endStr);
        // let tempStrArr = element.split('.')
        // my_rename(element, element + ' ' + suffix + '.' + tempStrArr[tempStrArr.length - 1])
        my_rename(element, startStr + endStr)

    });
    console.log("已经重命名成大写!");
}
my_rename_to_h265()
